home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 32 / Amiga Format AFCD32 (Nov 1998, Issue 117).iso / -seriously_amiga- / programming / c / mesa-2.6 / src / api2.c < prev    next >
C/C++ Source or Header  |  1998-08-10  |  49KB  |  1,763 lines

  1. /* $Id: api2.c,v 1.9 1998/02/05 00:17:23 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  2.6
  6.  * Copyright (C) 1995-1997  Brian Paul
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25.  * api1.c
  26.  *
  27.  * Version 1.0  27 Jun 1998
  28.  * by Jarno van der Linden
  29.  * jarno@kcbbs.gen.nz
  30.  *
  31.  * File created from api2.c ver 1.9 and gl.h ver 1.26 using GenProtos
  32.  *
  33.  */
  34.  
  35.  
  36. #ifdef PC_HEADER
  37. #include "all.h"
  38. #else
  39. #include <stdio.h>
  40. #include <stdlib.h>
  41. #include "api.h"
  42. #include "bitmap.h"
  43. #include "context.h"
  44. #include "eval.h"
  45. #include "image.h"
  46. #include "macros.h"
  47. #include "matrix.h"
  48. #include "teximage.h"
  49. #include "types.h"
  50. #include "vb.h"
  51. #endif
  52.  
  53.  
  54.  
  55. __asm __saveds void APIENTRY glOrthoA(register __a0 void *vargs)
  56. {
  57.     struct glOrthoArgs {
  58.         GLdouble left;
  59.         GLdouble right;
  60.         GLdouble bottom;
  61.         GLdouble top;
  62.         GLdouble nearval;
  63.         GLdouble farval;
  64.     } *args;
  65.  
  66.     args = (struct glOrthoArgs *)vargs;
  67.  
  68.     glOrtho(args->left, args->right, args->bottom, args->top, args->nearval, args->farval);
  69. }
  70.  
  71.  
  72. __asm __saveds void APIENTRY glOrtho( register __fp0 GLdouble left, register __fp1 GLdouble right,
  73.                                       register __fp2 GLdouble bottom, register __fp3 GLdouble top,
  74.                                       register __fp4 GLdouble nearval, register __fp5 GLdouble farval )
  75. {
  76.    GET_CONTEXT;
  77.    CHECK_CONTEXT;
  78.    (*CC->API.Ortho)(CC, left, right, bottom, top, nearval, farval);
  79. }
  80.  
  81.  
  82. __asm __saveds void APIENTRY glPassThrough( register __fp0 GLfloat token )
  83. {
  84.    GET_CONTEXT;
  85.    CHECK_CONTEXT;
  86.    (*CC->API.PassThrough)(CC, token);
  87. }
  88.  
  89.  
  90. __asm __saveds void APIENTRY glPixelMapfv( register __d0 GLenum map, register __d1 GLint mapsize, register __a0 const GLfloat *values )
  91. {
  92.    GET_CONTEXT;
  93.    CHECK_CONTEXT;
  94.    (*CC->API.PixelMapfv)( CC, map, mapsize, values );
  95. }
  96.  
  97.  
  98. __asm __saveds void APIENTRY glPixelMapuiv( register __d0 GLenum map, register __d1 GLint mapsize, register __a0 const GLuint *values )
  99. {
  100.    GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
  101.    GLuint i;
  102.    GET_CONTEXT;
  103.    CHECK_CONTEXT;
  104.  
  105.    if (map==GL_PIXEL_MAP_I_TO_I || map==GL_PIXEL_MAP_S_TO_S) {
  106.       for (i=0;i<mapsize;i++) {
  107.          fvalues[i] = (GLfloat) values[i];
  108.       }
  109.    }
  110.    else {
  111.       for (i=0;i<mapsize;i++) {
  112.          fvalues[i] = UINT_TO_FLOAT( values[i] );
  113.       }
  114.    }
  115.    (*CC->API.PixelMapfv)( CC, map, mapsize, fvalues );
  116. }
  117.  
  118.  
  119.  
  120. __asm __saveds void APIENTRY glPixelMapusv( register __d0 GLenum map, register __d1 GLint mapsize, register __a0 const GLushort *values )
  121. {
  122.    GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
  123.    GLuint i;
  124.    GET_CONTEXT;
  125.    CHECK_CONTEXT;
  126.  
  127.    if (map==GL_PIXEL_MAP_I_TO_I || map==GL_PIXEL_MAP_S_TO_S) {
  128.       for (i=0;i<mapsize;i++) {
  129.          fvalues[i] = (GLfloat) values[i];
  130.       }
  131.    }
  132.    else {
  133.       for (i=0;i<mapsize;i++) {
  134.          fvalues[i] = USHORT_TO_FLOAT( values[i] );
  135.       }
  136.    }
  137.    (*CC->API.PixelMapfv)( CC, map, mapsize, fvalues );
  138. }
  139.  
  140.  
  141. __asm __saveds void APIENTRY glPixelStoref( register __d0 GLenum pname, register __fp0 GLfloat param )
  142. {
  143.    GET_CONTEXT;
  144.    CHECK_CONTEXT;
  145.    (*CC->API.PixelStorei)( CC, pname, (GLint) param );
  146. }
  147.  
  148.  
  149. __asm __saveds void APIENTRY glPixelStorei( register __d0 GLenum pname, register __d1 GLint param )
  150. {
  151.    GET_CONTEXT;
  152.    CHECK_CONTEXT;
  153.    (*CC->API.PixelStorei)( CC, pname, param );
  154. }
  155.  
  156.  
  157. __asm __saveds void APIENTRY glPixelTransferf( register __d0 GLenum pname, register __fp0 GLfloat param )
  158. {
  159.    GET_CONTEXT;
  160.    CHECK_CONTEXT;
  161.    (*CC->API.PixelTransferf)(CC, pname, param);
  162. }
  163.  
  164.  
  165. __asm __saveds void APIENTRY glPixelTransferi( register __d0 GLenum pname, register __d1 GLint param )
  166. {
  167.    GET_CONTEXT;
  168.    CHECK_CONTEXT;
  169.    (*CC->API.PixelTransferf)(CC, pname, (GLfloat) param);
  170. }
  171.  
  172.  
  173. __asm __saveds void APIENTRY glPixelZoom( register __fp0 GLfloat xfactor, register __fp1 GLfloat yfactor )
  174. {
  175.    GET_CONTEXT;
  176.    CHECK_CONTEXT;
  177.    (*CC->API.PixelZoom)(CC, xfactor, yfactor);
  178. }
  179.  
  180.  
  181. __asm __saveds void APIENTRY glPointSize( register __fp0 GLfloat size )
  182. {
  183.    GET_CONTEXT;
  184.    CHECK_CONTEXT;
  185.    (*CC->API.PointSize)(CC, size);
  186. }
  187.  
  188.  
  189. __asm __saveds void APIENTRY glPolygonMode( register __d0 GLenum face, register __d1 GLenum mode )
  190. {
  191.    GET_CONTEXT;
  192.    CHECK_CONTEXT;
  193.    (*CC->API.PolygonMode)(CC, face, mode);
  194. }
  195.  
  196.  
  197. __asm __saveds void APIENTRY glPolygonOffset( register __fp0 GLfloat factor, register __fp1 GLfloat units )
  198. {
  199.    GET_CONTEXT;
  200.    CHECK_CONTEXT;
  201.    (*CC->API.PolygonOffset)( CC, factor, units );
  202. }
  203.  
  204.  
  205. /* GL_EXT_polygon_offset */
  206. __asm __saveds void APIENTRY glPolygonOffsetEXT( register __fp0 GLfloat factor, register __fp1 GLfloat bias )
  207. {
  208.    glPolygonOffset( factor, bias * DEPTH_SCALE );
  209. }
  210.  
  211.  
  212. __asm __saveds void APIENTRY glPolygonStipple( register __a0 const GLubyte *mask )
  213. {
  214.    GET_CONTEXT;
  215.    CHECK_CONTEXT;
  216.    (*CC->API.PolygonStipple)(CC, mask);
  217. }
  218.  
  219.  
  220. __asm __saveds void APIENTRY glPopAttrib( void )
  221. {
  222.    GET_CONTEXT;
  223.    CHECK_CONTEXT;
  224.    (*CC->API.PopAttrib)(CC);
  225. }
  226.  
  227.  
  228. __asm __saveds void APIENTRY glPopClientAttrib( void )
  229. {
  230.    GET_CONTEXT;
  231.    CHECK_CONTEXT;
  232.    (*CC->API.PopClientAttrib)(CC);
  233. }
  234.  
  235.  
  236. __asm __saveds void APIENTRY glPopMatrix( void )
  237. {
  238.    GET_CONTEXT;
  239.    CHECK_CONTEXT;
  240.    (*CC->API.PopMatrix)( CC );
  241. }
  242.  
  243.  
  244. __asm __saveds void APIENTRY glPopName( void )
  245. {
  246.    GET_CONTEXT;
  247.    CHECK_CONTEXT;
  248.    (*CC->API.PopName)(CC);
  249. }
  250.  
  251.  
  252. __asm __saveds void APIENTRY glPrioritizeTextures( register __d0 GLsizei n, register __a0 const GLuint *textures,
  253.                                                    register __a1 const GLclampf *priorities )
  254. {
  255.    GET_CONTEXT;
  256.    CHECK_CONTEXT;
  257.    (*CC->API.PrioritizeTextures)(CC, n, textures, priorities);
  258. }
  259.  
  260.  
  261. __asm __saveds void APIENTRY glPushMatrix( void )
  262. {
  263.    GET_CONTEXT;
  264.    CHECK_CONTEXT;
  265.    (*CC->API.PushMatrix)( CC );
  266. }
  267.  
  268.  
  269. __asm __saveds void APIENTRY glRasterPos2d( register __fp0 GLdouble x, register __fp1 GLdouble y )
  270. {
  271.    GET_CONTEXT;
  272.    CHECK_CONTEXT;
  273.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  274. }
  275.  
  276.  
  277. __asm __saveds void APIENTRY glRasterPos2f( register __fp0 GLfloat x, register __fp1 GLfloat y )
  278. {
  279.    GET_CONTEXT;
  280.    CHECK_CONTEXT;
  281.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  282. }
  283.  
  284.  
  285. __asm __saveds void APIENTRY glRasterPos2i( register __d0 GLint x, register __d1 GLint y )
  286. {
  287.    GET_CONTEXT;
  288.    CHECK_CONTEXT;
  289.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  290. }
  291.  
  292.  
  293. __asm __saveds void APIENTRY glRasterPos2s( register __d0 GLshort x, register __d1 GLshort y )
  294. {
  295.    GET_CONTEXT;
  296.    CHECK_CONTEXT;
  297.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  298. }
  299.  
  300.  
  301. __asm __saveds void APIENTRY glRasterPos3d( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z )
  302. {
  303.    GET_CONTEXT;
  304.    CHECK_CONTEXT;
  305.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  306. }
  307.  
  308.  
  309. __asm __saveds void APIENTRY glRasterPos3f( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z )
  310. {
  311.    GET_CONTEXT;
  312.    CHECK_CONTEXT;
  313.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  314. }
  315.  
  316.  
  317. __asm __saveds void APIENTRY glRasterPos3i( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z )
  318. {
  319.    GET_CONTEXT;
  320.    CHECK_CONTEXT;
  321.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  322. }
  323.  
  324.  
  325. __asm __saveds void APIENTRY glRasterPos3s( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z )
  326. {
  327.    GET_CONTEXT;
  328.    CHECK_CONTEXT;
  329.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  330. }
  331.  
  332.  
  333. __asm __saveds void APIENTRY glRasterPos4d( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z, register __fp3 GLdouble w )
  334. {
  335.    GET_CONTEXT;
  336.    CHECK_CONTEXT;
  337.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y,
  338.                                (GLfloat) z, (GLfloat) w );
  339. }
  340.  
  341.  
  342. __asm __saveds void APIENTRY glRasterPos4f( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z, register __fp3 GLfloat w )
  343. {
  344.    GET_CONTEXT;
  345.    CHECK_CONTEXT;
  346.    (*CC->API.RasterPos4f)( CC, x, y, z, w );
  347. }
  348.  
  349.  
  350. __asm __saveds void APIENTRY glRasterPos4i( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z, register __d3 GLint w )
  351. {
  352.    GET_CONTEXT;
  353.    CHECK_CONTEXT;
  354.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y,
  355.                            (GLfloat) z, (GLfloat) w );
  356. }
  357.  
  358.  
  359. __asm __saveds void APIENTRY glRasterPos4s( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z, register __d3 GLshort w )
  360. {
  361.    GET_CONTEXT;
  362.    CHECK_CONTEXT;
  363.    (*CC->API.RasterPos4f)( CC, (GLfloat) x, (GLfloat) y,
  364.                            (GLfloat) z, (GLfloat) w );
  365. }
  366.  
  367.  
  368. __asm __saveds void APIENTRY glRasterPos2dv( register __a0 const GLdouble *v )
  369. {
  370.    GET_CONTEXT;
  371.    CHECK_CONTEXT;
  372.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F );
  373. }
  374.  
  375.  
  376. __asm __saveds void APIENTRY glRasterPos2fv( register __a0 const GLfloat *v )
  377. {
  378.    GET_CONTEXT;
  379.    CHECK_CONTEXT;
  380.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F );
  381. }
  382.  
  383.  
  384. __asm __saveds void APIENTRY glRasterPos2iv( register __a0 const GLint *v )
  385. {
  386.    GET_CONTEXT;
  387.    CHECK_CONTEXT;
  388.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F );
  389. }
  390.  
  391.  
  392. __asm __saveds void APIENTRY glRasterPos2sv( register __a0 const GLshort *v )
  393. {
  394.    GET_CONTEXT;
  395.    CHECK_CONTEXT;
  396.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F );
  397. }
  398.  
  399.  
  400. /*** 3 element vector ***/
  401.  
  402. __asm __saveds void APIENTRY glRasterPos3dv( register __a0 const GLdouble *v )
  403. {
  404.    GET_CONTEXT;
  405.    CHECK_CONTEXT;
  406.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  407.                            (GLfloat) v[2], 1.0F );
  408. }
  409.  
  410.  
  411. __asm __saveds void APIENTRY glRasterPos3fv( register __a0 const GLfloat *v )
  412. {
  413.    GET_CONTEXT;
  414.    CHECK_CONTEXT;
  415.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  416.                                (GLfloat) v[2], 1.0F );
  417. }
  418.  
  419.  
  420. __asm __saveds void APIENTRY glRasterPos3iv( register __a0 const GLint *v )
  421. {
  422.    GET_CONTEXT;
  423.    CHECK_CONTEXT;
  424.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  425.                            (GLfloat) v[2], 1.0F );
  426. }
  427.  
  428.  
  429. __asm __saveds void APIENTRY glRasterPos3sv( register __a0 const GLshort *v )
  430. {
  431.    GET_CONTEXT;
  432.    CHECK_CONTEXT;
  433.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  434.                            (GLfloat) v[2], 1.0F );
  435. }
  436.  
  437.  
  438. __asm __saveds void APIENTRY glRasterPos4dv( register __a0 const GLdouble *v )
  439. {
  440.    GET_CONTEXT;
  441.    CHECK_CONTEXT;
  442.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  443.                            (GLfloat) v[2], (GLfloat) v[3] );
  444. }
  445.  
  446.  
  447. __asm __saveds void APIENTRY glRasterPos4fv( register __a0 const GLfloat *v )
  448. {
  449.    GET_CONTEXT;
  450.    CHECK_CONTEXT;
  451.    (*CC->API.RasterPos4f)( CC, v[0], v[1], v[2], v[3] );
  452. }
  453.  
  454.  
  455. __asm __saveds void APIENTRY glRasterPos4iv( register __a0 const GLint *v )
  456. {
  457.    GET_CONTEXT;
  458.    CHECK_CONTEXT;
  459.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  460.                            (GLfloat) v[2], (GLfloat) v[3] );
  461. }
  462.  
  463.  
  464. __asm __saveds void APIENTRY glRasterPos4sv( register __a0 const GLshort *v )
  465. {
  466.    GET_CONTEXT;
  467.    CHECK_CONTEXT;
  468.    (*CC->API.RasterPos4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  469.                            (GLfloat) v[2], (GLfloat) v[3] );
  470. }
  471.  
  472.  
  473. __asm __saveds void APIENTRY glReadBuffer( register __d0 GLenum mode )
  474. {
  475.    GET_CONTEXT;
  476.    CHECK_CONTEXT;
  477.    (*CC->API.ReadBuffer)( CC, mode );
  478. }
  479.  
  480.  
  481. __asm __saveds void APIENTRY glReadPixels( register __d0 GLint x, register __d1 GLint y, register __d2 GLsizei width, register __d3 GLsizei height,
  482.                                            register __d4 GLenum format, register __d5 GLenum type, register __a0 GLvoid *pixels )
  483. {
  484.    GET_CONTEXT;
  485.    CHECK_CONTEXT;
  486.    (*CC->API.ReadPixels)( CC, x, y, width, height, format, type, pixels );
  487. }
  488.  
  489.  
  490. __asm __saveds void APIENTRY glRectd( register __fp0 GLdouble x1, register __fp1 GLdouble y1, register __fp2 GLdouble x2, register __fp3 GLdouble y2 )
  491. {
  492.    GET_CONTEXT;
  493.    CHECK_CONTEXT;
  494.    (*CC->API.Rectf)( CC, (GLfloat) x1, (GLfloat) y1,
  495.                      (GLfloat) x2, (GLfloat) y2 );
  496. }
  497.  
  498.  
  499. __asm __saveds void APIENTRY glRectf( register __fp0 GLfloat x1, register __fp1 GLfloat y1, register __fp2 GLfloat x2, register __fp3 GLfloat y2 )
  500. {
  501.    GET_CONTEXT;
  502.    CHECK_CONTEXT;
  503.    (*CC->API.Rectf)( CC, x1, y1, x2, y2 );
  504. }
  505.  
  506.  
  507. __asm __saveds void APIENTRY glRecti( register __d0 GLint x1, register __d1 GLint y1, register __d2 GLint x2, register __d3 GLint y2 )
  508. {
  509.    GET_CONTEXT;
  510.    CHECK_CONTEXT;
  511.    (*CC->API.Rectf)( CC, (GLfloat) x1, (GLfloat) y1,
  512.                          (GLfloat) x2, (GLfloat) y2 );
  513. }
  514.  
  515.  
  516. __asm __saveds void APIENTRY glRects( register __d0 GLshort x1, register __d1 GLshort y1, register __d2 GLshort x2, register __d3 GLshort y2 )
  517. {
  518.    GET_CONTEXT;
  519.    CHECK_CONTEXT;
  520.    (*CC->API.Rectf)( CC, (GLfloat) x1, (GLfloat) y1,
  521.                      (GLfloat) x2, (GLfloat) y2 );
  522. }
  523.  
  524.  
  525. __asm __saveds void APIENTRY glRectdv( register __a0 const GLdouble *v1, register __a1 const GLdouble *v2 )
  526. {
  527.    GET_CONTEXT;
  528.    CHECK_CONTEXT;
  529.    (*CC->API.Rectf)(CC, (GLfloat) v1[0], (GLfloat) v1[1],
  530.                     (GLfloat) v2[0], (GLfloat) v2[1]);
  531. }
  532.  
  533.  
  534. __asm __saveds void APIENTRY glRectfv( register __a0 const GLfloat *v1, register __a1 const GLfloat *v2 )
  535. {
  536.    GET_CONTEXT;
  537.    CHECK_CONTEXT;
  538.    (*CC->API.Rectf)(CC, v1[0], v1[1], v2[0], v2[1]);
  539. }
  540.  
  541.  
  542. __asm __saveds void APIENTRY glRectiv( register __a0 const GLint *v1, register __a1 const GLint *v2 )
  543. {
  544.    GET_CONTEXT;
  545.    CHECK_CONTEXT;
  546.    (*CC->API.Rectf)( CC, (GLfloat) v1[0], (GLfloat) v1[1],
  547.                      (GLfloat) v2[0], (GLfloat) v2[1] );
  548. }
  549.  
  550.  
  551. __asm __saveds void APIENTRY glRectsv( register __a0 const GLshort *v1, register __a1 const GLshort *v2 )
  552. {
  553.    GET_CONTEXT;
  554.    CHECK_CONTEXT;
  555.    (*CC->API.Rectf)(CC, (GLfloat) v1[0], (GLfloat) v1[1],
  556.         (GLfloat) v2[0], (GLfloat) v2[1]);
  557. }
  558.  
  559.  
  560. __asm __saveds void APIENTRY glScissor( register __d0 GLint x, register __d1 GLint y, register __d2 GLsizei width, register __d3 GLsizei height )
  561. {
  562.    GET_CONTEXT;
  563.    CHECK_CONTEXT;
  564.    (*CC->API.Scissor)(CC, x, y, width, height);
  565. }
  566.  
  567.  
  568. __asm __saveds GLboolean APIENTRY glIsEnabled( register __d0 GLenum cap )
  569. {
  570.    GET_CONTEXT;
  571.    CHECK_CONTEXT_RETURN(GL_FALSE);
  572.    return (*CC->API.IsEnabled)( CC, cap );
  573. }
  574.  
  575.  
  576.  
  577. __asm __saveds void APIENTRY glPushAttrib( register __d0 GLbitfield mask )
  578. {
  579.    GET_CONTEXT;
  580.    CHECK_CONTEXT;
  581.    (*CC->API.PushAttrib)(CC, mask);
  582. }
  583.  
  584.  
  585. __asm __saveds void APIENTRY glPushClientAttrib( register __d0 GLbitfield mask )
  586. {
  587.    GET_CONTEXT;
  588.    CHECK_CONTEXT;
  589.    (*CC->API.PushClientAttrib)(CC, mask);
  590. }
  591.  
  592.  
  593. __asm __saveds void APIENTRY glPushName( register __d0 GLuint name )
  594. {
  595.    GET_CONTEXT;
  596.    CHECK_CONTEXT;
  597.    (*CC->API.PushName)(CC, name);
  598. }
  599.  
  600.  
  601. __asm __saveds GLint APIENTRY glRenderMode( register __d0 GLenum mode )
  602. {
  603.    GET_CONTEXT;
  604.    CHECK_CONTEXT_RETURN(0);
  605.    return (*CC->API.RenderMode)(CC, mode);
  606. }
  607.  
  608.  
  609. __asm __saveds void APIENTRY glRotated( register __fp0 GLdouble angle, register __fp1 GLdouble x, register __fp2 GLdouble y, register __fp3 GLdouble z )
  610. {
  611.    GET_CONTEXT;
  612.    CHECK_CONTEXT;
  613.    (*CC->API.Rotatef)( CC, (GLfloat) angle,
  614.                        (GLfloat) x, (GLfloat) y, (GLfloat) z );
  615. }
  616.  
  617.  
  618. __asm __saveds void APIENTRY glRotatef( register __fp0 GLfloat angle, register __fp1 GLfloat x, register __fp2 GLfloat y, register __fp3 GLfloat z )
  619. {
  620.    GET_CONTEXT;
  621.    CHECK_CONTEXT;
  622.    (*CC->API.Rotatef)( CC, angle, x, y, z );
  623. }
  624.  
  625.  
  626. __asm __saveds void APIENTRY glSelectBuffer( register __d0 GLsizei size, register __a0 GLuint *buffer )
  627. {
  628.    GET_CONTEXT;
  629.    CHECK_CONTEXT;
  630.    (*CC->API.SelectBuffer)(CC, size, buffer);
  631. }
  632.  
  633.  
  634. __asm __saveds void APIENTRY glScaled( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z )
  635. {
  636.    GET_CONTEXT;
  637.    CHECK_CONTEXT;
  638.    (*CC->API.Scalef)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z );
  639. }
  640.  
  641.  
  642. __asm __saveds void APIENTRY glScalef( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z )
  643. {
  644.    GET_CONTEXT;
  645.    CHECK_CONTEXT;
  646.    (*CC->API.Scalef)( CC, x, y, z );
  647. }
  648.  
  649.  
  650. __asm __saveds void APIENTRY glShadeModel( register __d0 GLenum mode )
  651. {
  652.    GET_CONTEXT;
  653.    CHECK_CONTEXT;
  654.    (*CC->API.ShadeModel)(CC, mode);
  655. }
  656.  
  657.  
  658. __asm __saveds void APIENTRY glStencilFunc( register __d0 GLenum func, register __d1 GLint ref, register __d2 GLuint mask )
  659. {
  660.    GET_CONTEXT;
  661.    CHECK_CONTEXT;
  662.    (*CC->API.StencilFunc)(CC, func, ref, mask);
  663. }
  664.  
  665.  
  666. __asm __saveds void APIENTRY glStencilMask( register __d0 GLuint mask )
  667. {
  668.    GET_CONTEXT;
  669.    CHECK_CONTEXT;
  670.    (*CC->API.StencilMask)(CC, mask);
  671. }
  672.  
  673.  
  674. __asm __saveds void APIENTRY glStencilOp( register __d0 GLenum fail, register __d1 GLenum zfail, register __d2 GLenum zpass )
  675. {
  676.    GET_CONTEXT;
  677.    CHECK_CONTEXT;
  678.    (*CC->API.StencilOp)(CC, fail, zfail, zpass);
  679. }
  680.  
  681.  
  682. __asm __saveds void APIENTRY glTexCoord1d( register __fp0 GLdouble s )
  683. {
  684.    GET_CONTEXT;
  685.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, 0.0, 0.0, 1.0 );
  686. }
  687.  
  688.  
  689. __asm __saveds void APIENTRY glTexCoord1f( register __fp0 GLfloat s )
  690. {
  691.    GET_CONTEXT;
  692.    (*CC->API.TexCoord4f)( CC, s, 0.0, 0.0, 1.0 );
  693. }
  694.  
  695.  
  696. __asm __saveds void APIENTRY glTexCoord1i( register __d0 GLint s )
  697. {
  698.    GET_CONTEXT;
  699.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, 0.0, 0.0, 1.0 );
  700. }
  701.  
  702.  
  703. __asm __saveds void APIENTRY glTexCoord1s( register __d0 GLshort s )
  704. {
  705.    GET_CONTEXT;
  706.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, 0.0, 0.0, 1.0 );
  707. }
  708.  
  709.  
  710. __asm __saveds void APIENTRY glTexCoord2d( register __fp0 GLdouble s, register __fp1 GLdouble t )
  711. {
  712.    GET_CONTEXT;
  713.    (*CC->API.TexCoord2f)( CC, (GLfloat) s, (GLfloat) t );
  714. }
  715.  
  716.  
  717. __asm __saveds void APIENTRY glTexCoord2f( register __fp0 GLfloat s, register __fp1 GLfloat t )
  718. {
  719.    GET_CONTEXT;
  720.    (*CC->API.TexCoord2f)( CC, s, t );
  721. }
  722.  
  723.  
  724. __asm __saveds void APIENTRY glTexCoord2i( register __d0 GLint s, register __d1 GLint t )
  725. {
  726.    GET_CONTEXT;
  727.    (*CC->API.TexCoord2f)( CC, (GLfloat) s, (GLfloat) t );
  728. }
  729.  
  730.  
  731. __asm __saveds void APIENTRY glTexCoord2s( register __d0 GLshort s, register __d1 GLshort t )
  732. {
  733.    GET_CONTEXT;
  734.    (*CC->API.TexCoord2f)( CC, (GLfloat) s, (GLfloat) t );
  735. }
  736.  
  737.  
  738. __asm __saveds void APIENTRY glTexCoord3d( register __fp0 GLdouble s, register __fp1 GLdouble t, register __fp2 GLdouble r )
  739. {
  740.    GET_CONTEXT;
  741.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t, (GLfloat) r, 1.0 );
  742. }
  743.  
  744.  
  745. __asm __saveds void APIENTRY glTexCoord3f( register __fp0 GLfloat s, register __fp1 GLfloat t, register __fp2 GLfloat r )
  746. {
  747.    GET_CONTEXT;
  748.    (*CC->API.TexCoord4f)( CC, s, t, r, 1.0 );
  749. }
  750.  
  751.  
  752. __asm __saveds void APIENTRY glTexCoord3i( register __d0 GLint s, register __d1 GLint t, register __d2 GLint r )
  753. {
  754.    GET_CONTEXT;
  755.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t,
  756.                                (GLfloat) r, 1.0 );
  757. }
  758.  
  759.  
  760. __asm __saveds void APIENTRY glTexCoord3s( register __d0 GLshort s, register __d1 GLshort t, register __d2 GLshort r )
  761. {
  762.    GET_CONTEXT;
  763.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t,
  764.                                (GLfloat) r, 1.0 );
  765. }
  766.  
  767.  
  768. __asm __saveds void APIENTRY glTexCoord4d( register __fp0 GLdouble s, register __fp1 GLdouble t, register __fp2 GLdouble r, register __fp3 GLdouble q )
  769. {
  770.    GET_CONTEXT;
  771.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t,
  772.                                (GLfloat) r, (GLfloat) q );
  773. }
  774.  
  775.  
  776. __asm __saveds void APIENTRY glTexCoord4f( register __fp0 GLfloat s, register __fp1 GLfloat t, register __fp2 GLfloat r, register __fp3 GLfloat q )
  777. {
  778.    GET_CONTEXT;
  779.    (*CC->API.TexCoord4f)( CC, s, t, r, q );
  780. }
  781.  
  782.  
  783. __asm __saveds void APIENTRY glTexCoord4i( register __d0 GLint s, register __d1 GLint t, register __d2 GLint r, register __d3 GLint q )
  784. {
  785.    GET_CONTEXT;
  786.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t,
  787.                                (GLfloat) r, (GLfloat) q );
  788. }
  789.  
  790.  
  791. __asm __saveds void APIENTRY glTexCoord4s( register __d0 GLshort s, register __d1 GLshort t, register __d2 GLshort r, register __d3 GLshort q )
  792. {
  793.    GET_CONTEXT;
  794.    (*CC->API.TexCoord4f)( CC, (GLfloat) s, (GLfloat) t,
  795.                                (GLfloat) r, (GLfloat) q );
  796. }
  797.  
  798.  
  799. __asm __saveds void APIENTRY glTexCoord1dv( register __a0 const GLdouble *v )
  800. {
  801.    GET_CONTEXT;
  802.    (*CC->API.TexCoord4f)( CC, (GLfloat) *v, 0.0, 0.0, 1.0 );
  803. }
  804.  
  805.  
  806. __asm __saveds void APIENTRY glTexCoord1fv( register __a0 const GLfloat *v )
  807. {
  808.    GET_CONTEXT;
  809.    (*CC->API.TexCoord4f)( CC, *v, 0.0, 0.0, 1.0 );
  810. }
  811.  
  812.  
  813. __asm __saveds void APIENTRY glTexCoord1iv( register __a0 const GLint *v )
  814. {
  815.    GET_CONTEXT;
  816.    (*CC->API.TexCoord4f)( CC, *v, 0.0, 0.0, 1.0 );
  817. }
  818.  
  819.  
  820. __asm __saveds void APIENTRY glTexCoord1sv( register __a0 const GLshort *v )
  821. {
  822.    GET_CONTEXT;
  823.    (*CC->API.TexCoord4f)( CC, (GLfloat) *v, 0.0, 0.0, 1.0 );
  824. }
  825.  
  826.  
  827. __asm __saveds void APIENTRY glTexCoord2dv( register __a0 const GLdouble *v )
  828. {
  829.    GET_CONTEXT;
  830.    (*CC->API.TexCoord2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  831. }
  832.  
  833.  
  834. __asm __saveds void APIENTRY glTexCoord2fv( register __a0 const GLfloat *v )
  835. {
  836.    GET_CONTEXT;
  837.    (*CC->API.TexCoord2f)( CC, v[0], v[1] );
  838. }
  839.  
  840.  
  841. __asm __saveds void APIENTRY glTexCoord2iv( register __a0 const GLint *v )
  842. {
  843.    GET_CONTEXT;
  844.    (*CC->API.TexCoord2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  845. }
  846.  
  847.  
  848. __asm __saveds void APIENTRY glTexCoord2sv( register __a0 const GLshort *v )
  849. {
  850.    GET_CONTEXT;
  851.    (*CC->API.TexCoord2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  852. }
  853.  
  854.  
  855. __asm __saveds void APIENTRY glTexCoord3dv( register __a0 const GLdouble *v )
  856. {
  857.    GET_CONTEXT;
  858.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  859.                                (GLfloat) v[2], 1.0 );
  860. }
  861.  
  862.  
  863. __asm __saveds void APIENTRY glTexCoord3fv( register __a0 const GLfloat *v )
  864. {
  865.    GET_CONTEXT;
  866.    (*CC->API.TexCoord4f)( CC, v[0], v[1], v[2], 1.0 );
  867. }
  868.  
  869.  
  870. __asm __saveds void APIENTRY glTexCoord3iv( register __a0 const GLint *v )
  871. {
  872.    GET_CONTEXT;
  873.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  874.                           (GLfloat) v[2], 1.0 );
  875. }
  876.  
  877.  
  878. __asm __saveds void APIENTRY glTexCoord3sv( register __a0 const GLshort *v )
  879. {
  880.    GET_CONTEXT;
  881.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  882.                                (GLfloat) v[2], 1.0 );
  883. }
  884.  
  885.  
  886. __asm __saveds void APIENTRY glTexCoord4dv( register __a0 const GLdouble *v )
  887. {
  888.    GET_CONTEXT;
  889.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  890.                                (GLfloat) v[2], (GLfloat) v[3] );
  891. }
  892.  
  893.  
  894. __asm __saveds void APIENTRY glTexCoord4fv( register __a0 const GLfloat *v )
  895. {
  896.    GET_CONTEXT;
  897.    (*CC->API.TexCoord4f)( CC, v[0], v[1], v[2], v[3] );
  898. }
  899.  
  900.  
  901. __asm __saveds void APIENTRY glTexCoord4iv( register __a0 const GLint *v )
  902. {
  903.    GET_CONTEXT;
  904.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  905.                                (GLfloat) v[2], (GLfloat) v[3] );
  906. }
  907.  
  908.  
  909. __asm __saveds void APIENTRY glTexCoord4sv( register __a0 const GLshort *v )
  910. {
  911.    GET_CONTEXT;
  912.    (*CC->API.TexCoord4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  913.                                (GLfloat) v[2], (GLfloat) v[3] );
  914. }
  915.  
  916.  
  917. __asm __saveds void APIENTRY glTexCoordPointer( register __d0 GLint size, register __d1 GLenum type, register __d2 GLsizei stride,
  918.                                                 register __a0 const GLvoid *ptr )
  919. {
  920.    GET_CONTEXT;
  921.    CHECK_CONTEXT;
  922.    (*CC->API.TexCoordPointer)(CC, size, type, stride, ptr);
  923. }
  924.  
  925.  
  926. __asm __saveds void APIENTRY glTexGend( register __d0 GLenum coord, register __d1 GLenum pname, register __fp0 GLdouble param )
  927. {
  928.    GLfloat p = (GLfloat) param;
  929.    GET_CONTEXT;
  930.    CHECK_CONTEXT;
  931.    (*CC->API.TexGenfv)( CC, coord, pname, &p );
  932. }
  933.  
  934.  
  935. __asm __saveds void APIENTRY glTexGenf( register __d0 GLenum coord, register __d1 GLenum pname, register __fp0 GLfloat param )
  936. {
  937.    GLfloat f = param;
  938.  
  939.    GET_CONTEXT;
  940.    CHECK_CONTEXT;
  941.    (*CC->API.TexGenfv)( CC, coord, pname, &f );
  942. }
  943.  
  944.  
  945. __asm __saveds void APIENTRY glTexGeni( register __d0 GLenum coord, register __d1 GLenum pname, register __d2 GLint param )
  946. {
  947.    GLfloat p = (GLfloat) param;
  948.    GET_CONTEXT;
  949.    CHECK_CONTEXT;
  950.    (*CC->API.TexGenfv)( CC, coord, pname, &p );
  951. }
  952.  
  953.  
  954. __asm __saveds void APIENTRY glTexGendv( register __d0 GLenum coord, register __d1 GLenum pname, register __a0 const GLdouble *params )
  955. {
  956.    GLfloat p[4];
  957.    GET_CONTEXT;
  958.    CHECK_CONTEXT;
  959.    p[0] = params[0];
  960.    p[1] = params[1];
  961.    p[2] = params[2];
  962.    p[3] = params[3];
  963.    (*CC->API.TexGenfv)( CC, coord, pname, p );
  964. }
  965.  
  966.  
  967. __asm __saveds void APIENTRY glTexGeniv( register __d0 GLenum coord, register __d1 GLenum pname, register __a0 const GLint *params )
  968. {
  969.    GLfloat p[4];
  970.    GET_CONTEXT;
  971.    CHECK_CONTEXT;
  972.    p[0] = params[0];
  973.    p[1] = params[1];
  974.    p[2] = params[2];
  975.    p[3] = params[3];
  976.    (*CC->API.TexGenfv)( CC, coord, pname, p );
  977. }
  978.  
  979.  
  980. __asm __saveds void APIENTRY glTexGenfv( register __d0 GLenum coord, register __d1 GLenum pname, register __a0 const GLfloat *params )
  981. {
  982.    GET_CONTEXT;
  983.    CHECK_CONTEXT;
  984.    (*CC->API.TexGenfv)( CC, coord, pname, params );
  985. }
  986.  
  987.  
  988.  
  989.  
  990. __asm __saveds void APIENTRY glTexEnvf( register __d0 GLenum target, register __d1 GLenum pname, register __fp0 GLfloat param )
  991. {
  992.    GLfloat f = param;
  993.  
  994.    GET_CONTEXT;
  995.    CHECK_CONTEXT;
  996.    (*CC->API.TexEnvfv)( CC, target, pname, &f );
  997. }
  998.  
  999.  
  1000.  
  1001. __asm __saveds void APIENTRY glTexEnvi( register __d0 GLenum target, register __d1 GLenum pname, register __d2 GLint param )
  1002. {
  1003.    GLfloat p[4];
  1004.    GET_CONTEXT;
  1005.    p[0] = (GLfloat) param;
  1006.    p[1] = p[2] = p[3] = 0.0;
  1007.    CHECK_CONTEXT;
  1008.    (*CC->API.TexEnvfv)( CC, target, pname, p );
  1009. }
  1010.  
  1011.  
  1012.  
  1013. __asm __saveds void APIENTRY glTexEnvfv( register __d0 GLenum target, register __d1 GLenum pname, register __a0 const GLfloat *param )
  1014. {
  1015.    GET_CONTEXT;
  1016.    CHECK_CONTEXT;
  1017.    (*CC->API.TexEnvfv)( CC, target, pname, param );
  1018. }
  1019.  
  1020.  
  1021.  
  1022. __asm __saveds void APIENTRY glTexEnviv( register __d0 GLenum target, register __d1 GLenum pname, register __a0 const GLint *param )
  1023. {
  1024.    GLfloat p[4];
  1025.    GET_CONTEXT;
  1026.    p[0] = INT_TO_FLOAT( param[0] );
  1027.    p[1] = INT_TO_FLOAT( param[1] );
  1028.    p[2] = INT_TO_FLOAT( param[2] );
  1029.    p[3] = INT_TO_FLOAT( param[3] );
  1030.    CHECK_CONTEXT;
  1031.    (*CC->API.TexEnvfv)( CC, target, pname, p );
  1032. }
  1033.  
  1034.  
  1035. __asm __saveds void APIENTRY glTexImage1D( register __d0 GLenum target, register __d1 GLint level, register __d2 GLint internalformat,
  1036.                                            register __d3 GLsizei width, register __d4 GLint border,
  1037.                                            register __d5 GLenum format, register __d6 GLenum type, register __a0 const GLvoid *pixels )
  1038. {
  1039.    struct gl_image *teximage;
  1040.    GET_CONTEXT;
  1041.    CHECK_CONTEXT;
  1042.    teximage = gl_unpack_image( CC, width, 1, format, type, pixels );
  1043.    (*CC->API.TexImage1D)( CC, target, level, internalformat,
  1044.                           width, border, format, type, teximage );
  1045. }
  1046.  
  1047.  
  1048.  
  1049. __asm __saveds void APIENTRY glTexImage2D( register __d0 GLenum target, register __d1 GLint level, register __d2 GLint internalformat,
  1050.                                            register __d3 GLsizei width, register __d4 GLsizei height, register __d5 GLint border,
  1051.                                            register __d6 GLenum format, register __d7 GLenum type, register __a0 const GLvoid *pixels )
  1052. {
  1053.   struct gl_image *teximage;
  1054. #if defined(FX) && defined(__WIN32__)
  1055.   GLvoid *newpixels=NULL;
  1056.   GLsizei newwidth,newheight;
  1057.   GLint x,y;
  1058.   static GLint leveldif=0;
  1059.   static GLuint lasttexobj=0xffffff;
  1060. #endif
  1061.   GET_CONTEXT;
  1062.   CHECK_CONTEXT;
  1063.  
  1064. #if defined(FX) && defined(__WIN32__)
  1065.   newpixels=NULL;
  1066.  
  1067.   /* AN HACK for WinGLQuake*/
  1068.  
  1069.   if(CC->Texture.Current2D->Name!=lasttexobj) {
  1070.     lasttexobj=CC->Texture.Current2D->Name;
  1071.     leveldif=0;
  1072.   }
  1073.  
  1074.   if((format==GL_COLOR_INDEX) && (internalformat==1))
  1075.     internalformat=GL_COLOR_INDEX8_EXT;
  1076.  
  1077.   if(width>256 || height >256) {
  1078.     while(width>256 || height >256) {
  1079.       newwidth=width/2;
  1080.       newheight=height/2;
  1081.       leveldif++;
  1082.  
  1083.       fprintf(stderr,"Scaling: %dx%d -> %dx%d\n",width,height,newwidth,newheight);
  1084.  
  1085.       newpixels=malloc((newwidth+4)*newheight*4);
  1086.  
  1087.       for(y=0;y<newheight;y++)
  1088.     for(x=0;x<newwidth;x++)
  1089.       ((GLubyte *)newpixels)[x+y*newwidth]=((GLubyte *)pixels)[x*2+y*width*2];
  1090.  
  1091.       if(newpixels)
  1092.     free((void*)pixels);
  1093.  
  1094.       pixels=newpixels;
  1095.       width=newwidth;
  1096.       height=newheight;
  1097.     }
  1098.  
  1099.     level=0;
  1100.   } else
  1101.     level-=leveldif;
  1102. #endif
  1103.   teximage = gl_unpack_image( CC, width, height, format, type, pixels );
  1104.   (*CC->API.TexImage2D)( CC, target, level, internalformat,
  1105.              width, height, border, format, type, teximage );
  1106. #if defined(FX) && defined(__WIN32__)
  1107.   if(newpixels)
  1108.     free(newpixels);
  1109. #endif
  1110. }
  1111.  
  1112.  
  1113. __asm __saveds void APIENTRY glTexParameterf( register __d0 GLenum target, register __d1 GLenum pname, register __fp0 GLfloat param )
  1114. {
  1115.    GLfloat f = param;
  1116.  
  1117.    GET_CONTEXT;
  1118.    CHECK_CONTEXT;
  1119.    (*CC->API.TexParameterfv)( CC, target, pname, &f );
  1120. }
  1121.  
  1122.  
  1123. __asm __saveds void APIENTRY glTexParameteri( register __d0 GLenum target, register __d1 GLenum pname, register __d2 GLint param )
  1124. {
  1125.    GLfloat fparam[4];
  1126.    GET_CONTEXT;
  1127.    fparam[0] = (GLfloat) param;
  1128.    fparam[1] = fparam[2] = fparam[3] = 0.0;
  1129.    CHECK_CONTEXT;
  1130.    (*CC->API.TexParameterfv)( CC, target, pname, fparam );
  1131. }
  1132.  
  1133.  
  1134. __asm __saveds void APIENTRY glTexParameterfv( register __d0 GLenum target, register __d1 GLenum pname, register __a0 const GLfloat *params )
  1135. {
  1136.    GET_CONTEXT;
  1137.    CHECK_CONTEXT;
  1138.    (*CC->API.TexParameterfv)( CC, target, pname, params );
  1139. }
  1140.  
  1141.  
  1142. __asm __saveds void APIENTRY glTexParameteriv( register __d0 GLenum target, register __d1 GLenum pname, register __a0 const GLint *params )
  1143. {
  1144.    GLfloat p[4];
  1145.    GET_CONTEXT;
  1146.    CHECK_CONTEXT;
  1147.    if (pname==GL_TEXTURE_BORDER_COLOR) {
  1148.       p[0] = INT_TO_FLOAT( params[0] );
  1149.       p[1] = INT_TO_FLOAT( params[1] );
  1150.       p[2] = INT_TO_FLOAT( params[2] );
  1151.       p[3] = INT_TO_FLOAT( params[3] );
  1152.    }
  1153.    else {
  1154.       p[0] = (GLfloat) params[0];
  1155.       p[1] = (GLfloat) params[1];
  1156.       p[2] = (GLfloat) params[2];
  1157.       p[3] = (GLfloat) params[3];
  1158.    }
  1159.    (*CC->API.TexParameterfv)( CC, target, pname, p );
  1160. }
  1161.  
  1162.  
  1163. __asm __saveds void APIENTRY glTexSubImage1D( register __d0 GLenum target, register __d1 GLint level, register __d2 GLint xoffset,
  1164.                                               register __d3 GLsizei width, register __d4 GLenum format,
  1165.                                               register __d5 GLenum type, register __a0 const GLvoid *pixels )
  1166. {
  1167.    struct gl_image *image;
  1168.    GET_CONTEXT;
  1169.    CHECK_CONTEXT;
  1170.    image = gl_unpack_texsubimage( CC, width, 1, 1, format, type, pixels );
  1171.    (*CC->API.TexSubImage1D)( CC, target, level, xoffset, width,
  1172.                              format, type, image );
  1173. }
  1174.  
  1175.  
  1176. __asm __saveds void APIENTRY glTexSubImage2D( register __d0 GLenum target, register __d1 GLint level,
  1177.                                               register __d2 GLint xoffset, register __d3 GLint yoffset,
  1178.                                               register __d4 GLsizei width, register __d5 GLsizei height,
  1179.                                               register __d6 GLenum format, register __d7 GLenum type,
  1180.                                               register __a0 const GLvoid *pixels )
  1181. {
  1182.    struct gl_image *image;
  1183.    GET_CONTEXT;
  1184.    CHECK_CONTEXT;
  1185.    image = gl_unpack_texsubimage( CC, width, height, 1, format, type, pixels );
  1186.    (*CC->API.TexSubImage2D)( CC, target, level, xoffset, yoffset,
  1187.                              width, height, format, type, image );
  1188. }
  1189.  
  1190.  
  1191. __asm __saveds void APIENTRY glTranslated( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z )
  1192. {
  1193.    GET_CONTEXT;
  1194.    CHECK_CONTEXT;
  1195.    (*CC->API.Translatef)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z );
  1196. }
  1197.  
  1198.  
  1199. __asm __saveds void APIENTRY glTranslatef( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z )
  1200. {
  1201.    GET_CONTEXT;
  1202.    CHECK_CONTEXT;
  1203.    (*CC->API.Translatef)( CC, x, y, z );
  1204. }
  1205.  
  1206.  
  1207. __asm __saveds void APIENTRY glVertex2d( register __fp0 GLdouble x, register __fp1 GLdouble y )
  1208. {
  1209.    GET_CONTEXT;
  1210.    (*CC->API.Vertex2f)( CC, (GLfloat) x, (GLfloat) y );
  1211. }
  1212.  
  1213.  
  1214. __asm __saveds void APIENTRY glVertex2f( register __fp0 GLfloat x, register __fp1 GLfloat y )
  1215. {
  1216.    GET_CONTEXT;
  1217.    (*CC->API.Vertex2f)( CC, x, y );
  1218. }
  1219.  
  1220.  
  1221. __asm __saveds void APIENTRY glVertex2i( register __d0 GLint x, register __d1 GLint y )
  1222. {
  1223.    GET_CONTEXT;
  1224.    (*CC->API.Vertex2f)( CC, (GLfloat) x, (GLfloat) y );
  1225. }
  1226.  
  1227.  
  1228. __asm __saveds void APIENTRY glVertex2s( register __d0 GLshort x, register __d1 GLshort y )
  1229. {
  1230.    GET_CONTEXT;
  1231.    (*CC->API.Vertex2f)( CC, (GLfloat) x, (GLfloat) y );
  1232. }
  1233.  
  1234.  
  1235. __asm __saveds void APIENTRY glVertex3d( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z )
  1236. {
  1237.    GET_CONTEXT;
  1238.    (*CC->API.Vertex3f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z );
  1239. }
  1240.  
  1241.  
  1242. __asm __saveds void APIENTRY glVertex3f( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z )
  1243. {
  1244.    GET_CONTEXT;
  1245.    (*CC->API.Vertex3f)( CC, x, y, z );
  1246. }
  1247.  
  1248.  
  1249. __asm __saveds void APIENTRY glVertex3i( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z )
  1250. {
  1251.    GET_CONTEXT;
  1252.    (*CC->API.Vertex3f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z );
  1253. }
  1254.  
  1255.  
  1256. __asm __saveds void APIENTRY glVertex3s( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z )
  1257. {
  1258.    GET_CONTEXT;
  1259.    (*CC->API.Vertex3f)( CC, (GLfloat) x, (GLfloat) y, (GLfloat) z );
  1260. }
  1261.  
  1262.  
  1263. __asm __saveds void APIENTRY glVertex4d( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z, register __fp3 GLdouble w )
  1264. {
  1265.    GET_CONTEXT;
  1266.    (*CC->API.Vertex4f)( CC, (GLfloat) x, (GLfloat) y,
  1267.                             (GLfloat) z, (GLfloat) w );
  1268. }
  1269.  
  1270.  
  1271. __asm __saveds void APIENTRY glVertex4f( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z, register __fp3 GLfloat w )
  1272. {
  1273.    GET_CONTEXT;
  1274.    (*CC->API.Vertex4f)( CC, x, y, z, w );
  1275. }
  1276.  
  1277.  
  1278. __asm __saveds void APIENTRY glVertex4i( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z, register __d3 GLint w )
  1279. {
  1280.    GET_CONTEXT;
  1281.    (*CC->API.Vertex4f)( CC, (GLfloat) x, (GLfloat) y,
  1282.                             (GLfloat) z, (GLfloat) w );
  1283. }
  1284.  
  1285.  
  1286. __asm __saveds void APIENTRY glVertex4s( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z, register __d3 GLshort w )
  1287. {
  1288.    GET_CONTEXT;
  1289.    (*CC->API.Vertex4f)( CC, (GLfloat) x, (GLfloat) y,
  1290.                             (GLfloat) z, (GLfloat) w );
  1291. }
  1292.  
  1293.  
  1294. __asm __saveds void APIENTRY glVertex2dv( register __a0 const GLdouble *v )
  1295. {
  1296.    GET_CONTEXT;
  1297.    (*CC->API.Vertex2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  1298. }
  1299.  
  1300.  
  1301. __asm __saveds void APIENTRY glVertex2fv( register __a0 const GLfloat *v )
  1302. {
  1303.    GET_CONTEXT;
  1304.    (*CC->API.Vertex2f)( CC, v[0], v[1] );
  1305. }
  1306.  
  1307.  
  1308. __asm __saveds void APIENTRY glVertex2iv( register __a0 const GLint *v )
  1309. {
  1310.    GET_CONTEXT;
  1311.    (*CC->API.Vertex2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  1312. }
  1313.  
  1314.  
  1315. __asm __saveds void APIENTRY glVertex2sv( register __a0 const GLshort *v )
  1316. {
  1317.    GET_CONTEXT;
  1318.    (*CC->API.Vertex2f)( CC, (GLfloat) v[0], (GLfloat) v[1] );
  1319. }
  1320.  
  1321.  
  1322. __asm __saveds void APIENTRY glVertex3dv( register __a0 const GLdouble *v )
  1323. {
  1324.    GET_CONTEXT;
  1325.    (*CC->API.Vertex3f)( CC, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
  1326. }
  1327.  
  1328.  
  1329. __asm __saveds void APIENTRY glVertex3fv( register __a0 const GLfloat *v )
  1330. {
  1331.    GET_CONTEXT;
  1332.    (*CC->API.Vertex3fv)( CC, v );
  1333. }
  1334.  
  1335.  
  1336. __asm __saveds void APIENTRY glVertex3iv( register __a0 const GLint *v )
  1337. {
  1338.    GET_CONTEXT;
  1339.    (*CC->API.Vertex3f)( CC, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
  1340. }
  1341.  
  1342.  
  1343. __asm __saveds void APIENTRY glVertex3sv( register __a0 const GLshort *v )
  1344. {
  1345.    GET_CONTEXT;
  1346.    (*CC->API.Vertex3f)( CC, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
  1347. }
  1348.  
  1349.  
  1350. __asm __saveds void APIENTRY glVertex4dv( register __a0 const GLdouble *v )
  1351. {
  1352.    GET_CONTEXT;
  1353.    (*CC->API.Vertex4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  1354.                             (GLfloat) v[2], (GLfloat) v[3] );
  1355. }
  1356.  
  1357.  
  1358. __asm __saveds void APIENTRY glVertex4fv( register __a0 const GLfloat *v )
  1359. {
  1360.    GET_CONTEXT;
  1361.    (*CC->API.Vertex4f)( CC, v[0], v[1], v[2], v[3] );
  1362. }
  1363.  
  1364.  
  1365. __asm __saveds void APIENTRY glVertex4iv( register __a0 const GLint *v )
  1366. {
  1367.    GET_CONTEXT;
  1368.    (*CC->API.Vertex4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  1369.                             (GLfloat) v[2], (GLfloat) v[3] );
  1370. }
  1371.  
  1372.  
  1373. __asm __saveds void APIENTRY glVertex4sv( register __a0 const GLshort *v )
  1374. {
  1375.    GET_CONTEXT;
  1376.    (*CC->API.Vertex4f)( CC, (GLfloat) v[0], (GLfloat) v[1],
  1377.                             (GLfloat) v[2], (GLfloat) v[3] );
  1378. }
  1379.  
  1380.  
  1381. __asm __saveds void APIENTRY glVertexPointer( register __d0 GLint size, register __d1 GLenum type, register __d2 GLsizei stride,
  1382.                                               register __a0 const GLvoid *ptr )
  1383. {
  1384.    GET_CONTEXT;
  1385.    (*CC->API.VertexPointer)(CC, size, type, stride, ptr);
  1386. }
  1387.  
  1388.  
  1389. __asm __saveds void APIENTRY glViewport( register __d0 GLint x, register __d1 GLint y, register __d2 GLsizei width, register __d3 GLsizei height )
  1390. {
  1391.    GET_CONTEXT;
  1392.    (*CC->API.Viewport)( CC, x, y, width, height );
  1393. }
  1394.  
  1395.  
  1396.  
  1397. /**
  1398.  ** Extensions
  1399.  **
  1400.  ** Some of these are incorporated into the 1.1 API.  They also remain as
  1401.  ** extensions for backward compatibility.  May be removed in the future.
  1402.  **/
  1403.  
  1404.  
  1405. /* GL_EXT_blend_minmax */
  1406.  
  1407. __asm __saveds void APIENTRY glBlendEquationEXT( register __d0 GLenum mode )
  1408. {
  1409.    GET_CONTEXT;
  1410.    CHECK_CONTEXT;
  1411.    (*CC->API.BlendEquation)(CC, mode);
  1412. }
  1413.  
  1414.  
  1415. /* GL_EXT_blend_color */
  1416.  
  1417. __asm __saveds void APIENTRY glBlendColorEXT( register __fp0 GLclampf red, register __fp1 GLclampf green,
  1418.                                               register __fp2 GLclampf blue, register __fp3 GLclampf alpha )
  1419. {
  1420.    GET_CONTEXT;
  1421.    CHECK_CONTEXT;
  1422.    (*CC->API.BlendColor)(CC, red, green, blue, alpha);
  1423. }
  1424.  
  1425.  
  1426. /* GL_EXT_vertex_array */
  1427.  
  1428. __asm __saveds void APIENTRY glVertexPointerEXT( register __d0 GLint size, register __d1 GLenum type, register __d2 GLsizei stride,
  1429.                                                  register __d3 GLsizei count, register __a0 const GLvoid *ptr )
  1430. {
  1431.    GET_CONTEXT;
  1432.    CHECK_CONTEXT;
  1433.    (*CC->API.VertexPointer)(CC, size, type, stride, ptr);
  1434. }
  1435.  
  1436.  
  1437. __asm __saveds void APIENTRY glNormalPointerEXT( register __d0 GLenum type, register __d1 GLsizei stride, register __d2 GLsizei count,
  1438.                                                  register __a0 const GLvoid *ptr )
  1439. {
  1440.    GET_CONTEXT;
  1441.    CHECK_CONTEXT;
  1442.    (*CC->API.NormalPointer)(CC, type, stride, ptr);
  1443. }
  1444.  
  1445.  
  1446. __asm __saveds void APIENTRY glColorPointerEXT( register __d0 GLint size, register __d1 GLenum type, register __d2 GLsizei stride,
  1447.                                                 register __d3 GLsizei count, register __a0 const GLvoid *ptr )
  1448. {
  1449.    GET_CONTEXT;
  1450.    CHECK_CONTEXT;
  1451.    (*CC->API.ColorPointer)(CC, size, type, stride, ptr);
  1452. }
  1453.  
  1454.  
  1455. __asm __saveds void APIENTRY glIndexPointerEXT( register __d0 GLenum type, register __d1 GLsizei stride,
  1456.                                                 register __d2 GLsizei count, register __a0 const GLvoid *ptr )
  1457. {
  1458.    GET_CONTEXT;
  1459.    CHECK_CONTEXT;
  1460.    (*CC->API.IndexPointer)(CC, type, stride, ptr);
  1461. }
  1462.  
  1463.  
  1464. __asm __saveds void APIENTRY glTexCoordPointerEXT( register __d0 GLint size, register __d1 GLenum type, register __d2 GLsizei stride,
  1465.                                                    register __d3 GLsizei count, register __a0 const GLvoid *ptr )
  1466. {
  1467.    GET_CONTEXT;
  1468.    CHECK_CONTEXT;
  1469.    (*CC->API.TexCoordPointer)(CC, size, type, stride, ptr);
  1470. }
  1471.  
  1472.  
  1473. __asm __saveds void APIENTRY glEdgeFlagPointerEXT( register __d0 GLsizei stride, register __d1 GLsizei count,
  1474.                                                    register __a0 const GLboolean *ptr )
  1475. {
  1476.    GET_CONTEXT;
  1477.    CHECK_CONTEXT;
  1478.    (*CC->API.EdgeFlagPointer)(CC, stride, ptr);
  1479. }
  1480.  
  1481.  
  1482. __asm __saveds void APIENTRY glGetPointervEXT( register __d0 GLenum pname, register __a0 GLvoid **params )
  1483. {
  1484.    GET_CONTEXT;
  1485.    CHECK_CONTEXT;
  1486.    (*CC->API.GetPointerv)(CC, pname, params);
  1487. }
  1488.  
  1489.  
  1490. __asm __saveds void APIENTRY glArrayElementEXT( register __d0 GLint i )
  1491. {
  1492.    GET_CONTEXT;
  1493.    CHECK_CONTEXT;
  1494.    (*CC->API.ArrayElement)(CC, i);
  1495. }
  1496.  
  1497.  
  1498. __asm __saveds void APIENTRY glDrawArraysEXT( register __d0 GLenum mode, register __d1 GLint first, register __d2 GLsizei count )
  1499. {
  1500.    GET_CONTEXT;
  1501.    CHECK_CONTEXT;
  1502.    (*CC->API.DrawArrays)(CC, mode, first, count);
  1503. }
  1504.  
  1505.  
  1506. /* GL_EXT_texture_object */
  1507.  
  1508. __asm __saveds GLboolean APIENTRY glAreTexturesResidentEXT( register __d0 GLsizei n, register __a0 const GLuint *textures,
  1509.                                                             register __a1 GLboolean *residences )
  1510. {
  1511.    return glAreTexturesResident( n, textures, residences );
  1512. }
  1513.  
  1514.  
  1515. __asm __saveds void APIENTRY glBindTextureEXT( register __d0 GLenum target, register __d1 GLuint texture )
  1516. {
  1517.    glBindTexture( target, texture );
  1518. }
  1519.  
  1520.  
  1521. __asm __saveds void APIENTRY glDeleteTexturesEXT( register __d0 GLsizei n, register __a0 const GLuint *textures )
  1522. {
  1523.    glDeleteTextures( n, textures );
  1524. }
  1525.  
  1526.  
  1527. __asm __saveds void APIENTRY glGenTexturesEXT( register __d0 GLsizei n, register __a0 GLuint *textures )
  1528. {
  1529.    glGenTextures( n, textures );
  1530. }
  1531.  
  1532.  
  1533. __asm __saveds GLboolean APIENTRY glIsTextureEXT( register __d0 GLuint texture )
  1534. {
  1535.    return glIsTexture( texture );
  1536. }
  1537.  
  1538.  
  1539. __asm __saveds void APIENTRY glPrioritizeTexturesEXT( register __d0 GLsizei n, register __a0 const GLuint *textures,
  1540.                                                       register __a1 const GLclampf *priorities )
  1541. {
  1542.    glPrioritizeTextures( n, textures, priorities );
  1543. }
  1544.  
  1545.  
  1546.  
  1547. /* GL_EXT_texture3D */
  1548.  
  1549. __asm __saveds void APIENTRY glCopyTexSubImage3DEXT( register __d0 GLenum target, register __d1 GLint level, register __d2 GLint xoffset,
  1550.                                                      register __d3 GLint yoffset, register __d4 GLint zoffset,
  1551.                                                      register __d5 GLint x, register __d6 GLint y, register __d7 GLsizei width,
  1552.                                                      register __a0 GLsizei height )
  1553. {
  1554.    GET_CONTEXT;
  1555.    CHECK_CONTEXT;
  1556.    (*CC->API.CopyTexSubImage3DEXT)( CC, target, level, xoffset, yoffset,
  1557.                                     zoffset, x, y, width, height );
  1558. }
  1559.  
  1560.  
  1561.  
  1562. __asm __saveds void APIENTRY glTexImage3DEXT( register __d0 GLenum target, register __d1 GLint level, register __d2 GLenum internalformat,
  1563.                                               register __d3 GLsizei width, register __d4 GLsizei height, register __d5 GLsizei depth,
  1564.                                               register __d6 GLint border, register __d7 GLenum format, register __a0 GLenum type,
  1565.                                               register __a1 const GLvoid *pixels )
  1566. {
  1567.    struct gl_image *teximage;
  1568.    GET_CONTEXT;
  1569.    CHECK_CONTEXT;
  1570.    teximage = gl_unpack_image3D( CC, width, height, depth, format, type, pixels);
  1571.    (*CC->API.TexImage3DEXT)( CC, target, level, internalformat,
  1572.                              width, height, depth, border, format, type,
  1573.                              teximage );
  1574. }
  1575.  
  1576.  
  1577. __asm __saveds void APIENTRY glTexSubImage3DEXT( register __d0 GLenum target, register __d1 GLint level, register __d2 GLint xoffset,
  1578.                                                  register __d3 GLint yoffset, register __d4 GLint zoffset, register __d5 GLsizei width,
  1579.                                                  register __d6 GLsizei height, register __d7 GLsizei depth, register __a0 GLenum format,
  1580.                                                  register __a1 GLenum type, register __a2 const GLvoid *pixels )
  1581. {
  1582.    struct gl_image *image;
  1583.    GET_CONTEXT;
  1584.    CHECK_CONTEXT;
  1585.    image = gl_unpack_texsubimage( CC, width, height, depth, format, type, pixels );
  1586.    (*CC->API.TexSubImage3DEXT)( CC, target, level, xoffset, yoffset, zoffset,
  1587.                                 width, height, depth, format, type, image );
  1588. }
  1589.  
  1590.  
  1591.  
  1592. /* GL_EXT_point_parameters */
  1593.  
  1594. __asm __saveds void APIENTRY glPointParameterfEXT( register __d0 GLenum pname, register __fp0 GLfloat param )
  1595. {
  1596.    GLfloat params[3];
  1597.    GET_CONTEXT;
  1598.    CHECK_CONTEXT;
  1599.    params[0] = param;
  1600.    params[1] = 0.0;
  1601.    params[2] = 0.0;
  1602.    (*CC->API.PointParameterfvEXT)(CC, pname, params);
  1603. }
  1604.  
  1605.  
  1606. __asm __saveds void APIENTRY glPointParameterfvEXT( register __d0 GLenum pname, register __a0 const GLfloat *params )
  1607. {
  1608.    GET_CONTEXT;
  1609.    CHECK_CONTEXT;
  1610.    (*CC->API.PointParameterfvEXT)(CC, pname, params);
  1611. }
  1612.  
  1613.  
  1614.  
  1615. #ifdef GL_MESA_window_pos
  1616. /*
  1617.  * Mesa implementation of glWindowPos*MESA()
  1618.  */
  1619. __asm __saveds void APIENTRY glWindowPos4fMESA( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z, register __fp3 GLfloat w )
  1620. {
  1621.    GET_CONTEXT;
  1622.    CHECK_CONTEXT;
  1623.    (*CC->API.WindowPos4fMESA)( CC, x, y, z, w );
  1624. }
  1625. #else
  1626. /* Implementation in winpos.c is used */
  1627. #endif
  1628.  
  1629.  
  1630. __asm __saveds void APIENTRY glWindowPos2iMESA( register __d0 GLint x, register __d1 GLint y )
  1631. {
  1632.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  1633. }
  1634.  
  1635. __asm __saveds void APIENTRY glWindowPos2sMESA( register __d0 GLshort x, register __d1 GLshort y )
  1636. {
  1637.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  1638. }
  1639.  
  1640. __asm __saveds void APIENTRY glWindowPos2fMESA( register __fp0 GLfloat x, register __fp1 GLfloat y )
  1641. {
  1642.    glWindowPos4fMESA( x, y, 0.0F, 1.0F );
  1643. }
  1644.  
  1645. __asm __saveds void APIENTRY glWindowPos2dMESA( register __fp0 GLdouble x, register __fp1 GLdouble y )
  1646. {
  1647.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, 0.0F, 1.0F );
  1648. }
  1649.  
  1650. __asm __saveds void APIENTRY glWindowPos2ivMESA( register __a0 const GLint *p )
  1651. {
  1652.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], 0.0F, 1.0F );
  1653. }
  1654.  
  1655. __asm __saveds void APIENTRY glWindowPos2svMESA( register __a0 const GLshort *p )
  1656. {
  1657.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], 0.0F, 1.0F );
  1658. }
  1659.  
  1660. __asm __saveds void APIENTRY glWindowPos2fvMESA( register __a0 const GLfloat *p )
  1661. {
  1662.    glWindowPos4fMESA( p[0], p[1], 0.0F, 1.0F );
  1663. }
  1664.  
  1665. __asm __saveds void APIENTRY glWindowPos2dvMESA( register __a0 const GLdouble *p )
  1666. {
  1667.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], 0.0F, 1.0F );
  1668. }
  1669.  
  1670. __asm __saveds void APIENTRY glWindowPos3iMESA( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z )
  1671. {
  1672.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  1673. }
  1674.  
  1675. __asm __saveds void APIENTRY glWindowPos3sMESA( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z )
  1676. {
  1677.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  1678. }
  1679.  
  1680. __asm __saveds void APIENTRY glWindowPos3fMESA( register __fp0 GLfloat x, register __fp1 GLfloat y, register __fp2 GLfloat z )
  1681. {
  1682.    glWindowPos4fMESA( x, y, z, 1.0F );
  1683. }
  1684.  
  1685. __asm __saveds void APIENTRY glWindowPos3dMESA( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z )
  1686. {
  1687.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F );
  1688. }
  1689.  
  1690. __asm __saveds void APIENTRY glWindowPos3ivMESA( register __a0 const GLint *p )
  1691. {
  1692.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2], 1.0F );
  1693. }
  1694.  
  1695. __asm __saveds void APIENTRY glWindowPos3svMESA( register __a0 const GLshort *p )
  1696. {
  1697.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2], 1.0F );
  1698. }
  1699.  
  1700. __asm __saveds void APIENTRY glWindowPos3fvMESA( register __a0 const GLfloat *p )
  1701. {
  1702.    glWindowPos4fMESA( p[0], p[1], p[2], 1.0F );
  1703. }
  1704.  
  1705. __asm __saveds void APIENTRY glWindowPos3dvMESA( register __a0 const GLdouble *p )
  1706. {
  1707.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2], 1.0F );
  1708. }
  1709.  
  1710. __asm __saveds void APIENTRY glWindowPos4iMESA( register __d0 GLint x, register __d1 GLint y, register __d2 GLint z, register __d3 GLint w )
  1711. {
  1712.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
  1713. }
  1714.  
  1715. __asm __saveds void APIENTRY glWindowPos4sMESA( register __d0 GLshort x, register __d1 GLshort y, register __d2 GLshort z, register __d3 GLshort w )
  1716. {
  1717.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
  1718. }
  1719.  
  1720. __asm __saveds void APIENTRY glWindowPos4dMESA( register __fp0 GLdouble x, register __fp1 GLdouble y, register __fp2 GLdouble z, register __fp3 GLdouble w )
  1721. {
  1722.    glWindowPos4fMESA( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
  1723. }
  1724.  
  1725.  
  1726. __asm __saveds void APIENTRY glWindowPos4ivMESA( register __a0 const GLint *p )
  1727. {
  1728.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1],
  1729.                       (GLfloat) p[2], (GLfloat) p[3] );
  1730. }
  1731.  
  1732. __asm __saveds void APIENTRY glWindowPos4svMESA( register __a0 const GLshort *p )
  1733. {
  1734.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1],
  1735.                       (GLfloat) p[2], (GLfloat) p[3] );
  1736. }
  1737.  
  1738. __asm __saveds void APIENTRY glWindowPos4fvMESA( register __a0 const GLfloat *p )
  1739. {
  1740.    glWindowPos4fMESA( p[0], p[1], p[2], p[3] );
  1741. }
  1742.  
  1743. __asm __saveds void APIENTRY glWindowPos4dvMESA( register __a0 const GLdouble *p )
  1744. {
  1745.    glWindowPos4fMESA( (GLfloat) p[0], (GLfloat) p[1],
  1746.                       (GLfloat) p[2], (GLfloat) p[3] );
  1747. }
  1748.  
  1749.  
  1750.  
  1751. /* GL_MESA_resize_buffers */
  1752.  
  1753. /*
  1754.  * Called by user application when window has been resized.
  1755.  */
  1756. __asm __saveds void APIENTRY glResizeBuffersMESA( void )
  1757. {
  1758.    GET_CONTEXT;
  1759.    CHECK_CONTEXT;
  1760.    (*CC->API.ResizeBuffersMESA)( CC );
  1761. }
  1762.  
  1763.